package com.version1.diabeco.ui.wizard;

import com.version1.diabeco.ActivityMain;
import com.version1.diabeco.R;


import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;

public class ActivityWizardPaso6 extends Activity {
	private EditText editTextNombreMedicamento, editTextNombreMedicamento2;
	private Spinner spinnerTipoMedicamento, spinnerTipoMedicamento2;
	
    private Button btnSiguiente;
    private SharedPreferences diabecoPrefs;
    public final static int REQUEST_CODE_WIZARD_PASO7 = 7777;
    
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
		setContentView(R.layout.activity_wizard_paso6);
		
		//Obtenemos los elementos de la Pantalla
		editTextNombreMedicamento  = (EditText) findViewById(R.id.editTextNombreMedicamento);
		editTextNombreMedicamento2 = (EditText) findViewById(R.id.editTextNombreMedicamento2);
		spinnerTipoMedicamento     = (Spinner)  findViewById(R.id.spinnerTipoMedicamento);
		spinnerTipoMedicamento2    = (Spinner)  findViewById(R.id.spinnerTipoMedicamento2);
		btnSiguiente 	     	   = (Button)   findViewById(R.id.btnSiguiente);
		
		
        //Obtenemos las Preference en modo privado
        Context mContext = this.getApplicationContext();
        diabecoPrefs = mContext.getSharedPreferences("DiabeCoWizardPaso6", Context.MODE_PRIVATE);
        
        editTextNombreMedicamento.addTextChangedListener(new TextWatcher(){
	        public void afterTextChanged(Editable s) {

	        }
	        public void beforeTextChanged(CharSequence s, int start, int count, int after){
	        	
	        }
	        public void onTextChanged(CharSequence s, int start, int before, int count){
	        	if (editTextNombreMedicamento.getText().toString().isEmpty()  != true ||
	        		editTextNombreMedicamento2.getText().toString().isEmpty() != true) {
	                    btnSiguiente.setEnabled(true);
	                    btnSiguiente.setTextColor(getResources().getColor(R.color.Blanco));
				} else {
						btnSiguiente.setEnabled(false);
						btnSiguiente.setTextColor(getResources().getColor(R.color.Gris));
				}
	        }
	    }); 
		
		
        editTextNombreMedicamento2.addTextChangedListener(new TextWatcher(){
	        public void afterTextChanged(Editable s) {

	        }
	        public void beforeTextChanged(CharSequence s, int start, int count, int after){
	        	
	        }
	        public void onTextChanged(CharSequence s, int start, int before, int count){
	        	if (editTextNombreMedicamento.getText().toString().isEmpty()  != true ||
		        	editTextNombreMedicamento2.getText().toString().isEmpty() != true) {
	                    btnSiguiente.setEnabled(true);
	                    btnSiguiente.setTextColor(getResources().getColor(R.color.Blanco));
				} else {
						btnSiguiente.setEnabled(false);
						btnSiguiente.setTextColor(getResources().getColor(R.color.Gris));
				}
	        }
	    });         
	}

	
//	@Override
//	public boolean onCreateOptionsMenu(Menu menu) {
//		// Inflate the menu; this adds items to the action bar if it is present.
//		getMenuInflater().inflate(R.menu.activity_wizard_paso1, menu);
//		return true;
//	}

	@Override
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		if (requestCode == REQUEST_CODE_WIZARD_PASO7) {
			switch (resultCode) {
			case RESULT_CANCELED:
				this.finish();
				break;
			case RESULT_OK:
				Intent intent = new Intent();
				setResult(RESULT_OK, intent);
				this.finish();
				break;
			default:
				break;
			}
		}
	}
	
	@Override
    protected void onResume() {
            super.onResume();
            
            String nombre1 = diabecoPrefs.getString("editTextNombreMedicamento", "");
            String nombre2 = diabecoPrefs.getString("editTextNombreMedicamento2", "");
            String tipo1 = diabecoPrefs.getString("spinnerTipoMedicamento", null);
            String tipo2 = diabecoPrefs.getString("spinnerTipoMedicamento2", null);
            
            if (!nombre1.isEmpty()) {
            	editTextNombreMedicamento.setText(nombre1);
    		}
            if (!nombre2.isEmpty()) {
            	editTextNombreMedicamento2.setText(nombre2);
    		}
            if (tipo1!=null) {
            	posicionarSpinner(tipo1, spinnerTipoMedicamento);
    		}
            if (tipo2!=null) {
            	posicionarSpinner(tipo2, spinnerTipoMedicamento2);
    		}        
            
            if (nombre1.isEmpty() && nombre2.isEmpty()) { //Si estan los dos vacios
                btnSiguiente.setEnabled(false);
                btnSiguiente.setTextColor(getResources().getColor(R.color.Gris));        	
            }
    }

	
	@Override
	public void onBackPressed() {
		Intent intent = new Intent();
		setResult(ActivityMain.RESULT_CODE_WIZARD_BTN_PREVIO, intent);
		super.onBackPressed();
	}
	
	
    /** Se llama al hacer click en "Siguiente" */
    public void clickBtnSiguiente(View view) {
    	String strNombre1, strNombre2, strTipo1, strTipo2;
    	
    	strNombre1  = editTextNombreMedicamento.getText().toString().toUpperCase().trim();
		strNombre2 = editTextNombreMedicamento2.getText().toString().toUpperCase().trim();
		strTipo1 = spinnerTipoMedicamento.getSelectedItem().toString();
		strTipo2 = spinnerTipoMedicamento2.getSelectedItem().toString();
		if (strNombre1.equals(strNombre2) == true && strTipo1.equals(strTipo2) == true ) {
			editTextNombreMedicamento2.setError("Medicamentos Iguales");
		} else {
			  editTextNombreMedicamento2.setError(null);
	          SharedPreferences.Editor edit = diabecoPrefs.edit();
	          edit.putString("editTextNombreMedicamento", editTextNombreMedicamento.getText().toString());
	          edit.putString("editTextNombreMedicamento2", editTextNombreMedicamento2.getText().toString());
	          edit.putString("spinnerTipoMedicamento", spinnerTipoMedicamento.getSelectedItem().toString());
	          edit.putString("spinnerTipoMedicamento2", spinnerTipoMedicamento2.getSelectedItem().toString());
	          edit.commit();
	          
	          //Creamos el Intent
	          Intent intent = new Intent(this, ActivityWizardPaso7.class);
	          //Iniciamos la nueva actividad
	          startActivityForResult(intent, REQUEST_CODE_WIZARD_PASO7);	          
		}
		
	}
	
    /** Se llama al hacer click en "Previo" */
    public void clickBtnPrevio(View view) {
		Intent intent = new Intent();
		setResult(ActivityMain.RESULT_CODE_WIZARD_BTN_PREVIO, intent);		
	    this.finish();
    }     

    
	void posicionarSpinner(String texto, Spinner combo) {

		if (texto != null) {
			ArrayAdapter myAdap = (ArrayAdapter) combo.getAdapter();
			int spinnerPosition = myAdap.getPosition(texto);
			combo.setSelection(spinnerPosition);
		}
	}    

}
